//
// Created by Administrator on 2025/3/13.
//

#ifndef LVGL_WORD_QUERY_DATA_DAO_H
#define LVGL_WORD_QUERY_DATA_DAO_H
#define WORD_QUERY_MAX_WORD_LEN 50  // 每个单词最大长度
#include "lvgl/lvgl.h"
#include <stdlib.h>
#include "../ui_screen_common/log_wrapper.h"

// 定义单词结构体
typedef struct {
    char word[WORD_QUERY_MAX_WORD_LEN];  // 存储单词
} word_query_word_entry_t;

// 单词查询数据结构体
typedef struct {
    bool is_with_keyboard;
    int letter_parent_size;
    int letter_parent_index;
    int letter_child_size;
    int letter_focus_index;
    word_query_word_entry_t *word_list;
    int word_list_size;
    char input_word[WORD_QUERY_MAX_WORD_LEN];
    int input_word_len;
} ui_word_query_data_t;

extern ui_word_query_data_t ui_word_query_data;
// 小写英文字母数组（字符串数组）
extern char *lowercase_letter_strings[];
extern int lowercase_letter_strings_size;
// 大写英文字母数组（字符串数组）
extern char *uppercase_letter_strings[];
extern int uppercase_letter_strings_size;
// 数字数组（字符串数组）
extern char *digit_strings[];
extern int digit_strings_size;
// 特殊符号数组（字符串数组）
extern char *special_characters[];
extern int special_characters_size;

void ui_word_query_data_init(ui_word_query_data_t *data);
//struct word_query_word_entry_t word_query_word_entry_t;
word_query_word_entry_t *word_query_get_recently_word_list(int *size,int max_size);
word_query_word_entry_t *word_query_search_word_list(char *word, int *size,int max_size);
bool get_keyboard_connect_status();


#endif //LVGL_WORD_QUERY_DATA_DAO_H
